package com.neuedu.corejava.ch13;

public class ThreadJoin extends Thread {
	
	private int count;

	@Override
	public void run() {
		while (count++ <= 10) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		
			System.out.println(getId() + ":" + count);
		}
		System.out.println("子线程执行完毕");
	}

	public static void main(String[] args) {
		ThreadJoin threadJoin= new ThreadJoin();
		threadJoin.start();
//		try {
//			//把子线程与主线程进行合并，先执行子线程，再执行主线程
//			//无参数时，先执行完子线程，再执行主线程
//			threadJoin.join();
//			//有参数时，先执行子线程一段时间，再执行主线程
//			//threadJoin.join(2000);
//		} catch (InterruptedException e) {
//			e.printStackTrace();
//		}
		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		//可以中断一个在sleep睡眠状态的线程，用于中断sleep方法执行
		threadJoin.interrupt();
		
		System.out.println("主线程结束");
	}

}
